#include<iostream>
using namespace std;
template <class T>class Link
{
	public:
		T data;
		Link<T> *next;
}
template<class T>class InkList:public List<T>
{
	private:
		Link<T> *head,*tail;
	        Link<T> *setPos(const int p);
	public:
	    InkList(int s);
	    ~InkList();
	    bool isEmpty();
	    void clear();
	    int length();
	    bool append(const T value);
	    bool insert(const int p,const T value);
	    bool delete(const int p);
	    bool getValue(const int p,T& value);
	    bool getPos(int &p,const T value);
};
